Over a broadband network, such as a private enterprise broadband network or a public broadband network (e.g., the Internet), various kinds of traffic are processed with varying quality of service requirements. Such varying quality of service requirements in turn drive traffic prioritization requirements to ensure that data for applications requiring a higher quality of service receive priority treatment in order to deliver a certain minimum level of performance to the data flow. For example, a required bit rate, delay, jitter, packet dropping probability and/or bit error rate may be necessary for an application to operate at an acceptable performance level. This is especially true for real-time streaming applications, such as voice over IP, online gaming, and IP television applications, which typically require a fixed bit rate and are delay sensitive. Depending on the type of network, however, delivering the necessary quality of service requirements poses significant challenges.
In high performance broadband communications networks, certain protocols or services can be offered that support the quality of service requirements of high priority, real-time traffic applications. For example, multiprotocol label switching (MPLS) is a current service offering in such high performance networks (e.g., in T1/E1, ATM Frame Relay and DSL networks), which supports quality of service requirements of such applications. MPLS directs data from one network node to the next based on short path labels, rather than long network addresses (e.g., the Internet), avoiding complex lookups in routing tables. MPLS services generally are significantly more expensive than the more typical consumer and small business Internet services, and thus can be cost prohibitive. Alternatively, constant or guaranteed minimum bit rate services are also available, and can solve quality of service requirements of real-time applications, but such services are similarly cost prohibitive.
The general protocols of the Internet, on the other hand, provide for more affordable broadband communications services, but are far less reliable. Unlike single-owner networks, the Internet is a series of exchange points interconnecting private networks, owned and managed by a number of different network service providers, and thus the behavior of the Internet is unpredictable. Further, conventional Internet routers and local area network (LAN) switches operate on a best effort basis, which generally does not support quality of service. Under a best effort delivery service, the network does not provide any guarantees for timing and order of data packet delivery, or any guarantees of data packet delivery at all—and thus do not generally provide any guaranteed quality of service or priority levels. In a best effort network, generally, all users obtain best effort service, meaning that they obtain unspecified variable bit rate and delivery time, depending on the current traffic load. The lack of reliability permits various error conditions, such as data corruption, packet loss and duplication, as well as out-of-order packet delivery. Since routing is dynamic for every packet and the network maintains no state of the path of prior packets, it is possible that some packets are routed on a longer path to their destination, resulting in improper sequencing at the receiver. Such networks, therefore, are generally unreliable for real-time applications, such as voice over IP.
In packet-switched networks (such as the Internet), quality of service is affected by various factors, such as: (1) low throughput, whereby, due to varying load from other users sharing the same network resources (e.g., congestion), the bit rate provided to a certain data stream may be too low if all data streams get the same scheduling priority; (2) dropped packets, whereby a router may fail to deliver packets (e.g., where the packet is corrupted or the routers buffers are full); (3) bit errors, whereby a packet may be corrupted by noise or interference; (4) latency, whereby a packet is delayed in reaching its destination (e.g., based on long queues or long routes due to congestion); (5) jitter, whereby packets from one source/application reach the destination with different delays, which delays can vary unpredictably and cause jitter; and (6) out-of-order packet delivery, whereby related packets from a single source/application are routed through a network over different paths and thus experience differing levels of delay resulting in the packets arriving at the destination in a different order from which they were sent (which requires special additional protocols responsible for rearranging out-of-order packets).
Further, a typical broadband connection communicates with a public network (e.g., the Internet) through an access network. The access network typically has a headend that uses a cable modem termination system (CMTS) to communicate data traffic from the Internet to various cable subscribers. The CMTS connects to the cable modem(s) of subscriber(s) over the described last-mile link using a coaxial cable interface. The cable modem (if not an integrated modem/router) connects to a router, such as a virtual private network (VPN) router, and to various devices (e.g., desktops, mobile devices, laptops, televisions, etc.) communicating with the router. Additionally, the communications network can communicate with a host (e.g., over the Internet), which can communicate with a VPN gateway which can communicate with a data center. In the communications network, therefore, devices communicating with the VPN router can also communicate securely with devices associated with the data center.
With such broadband connections, congestion in the data flow can occur at the router or the gateway, for example. One approach for dealing with significant congestion is to perform what is referred to as a random early drop, which is a dropping of data packets. However, dropping of data packets, while possibly relieving congestion, can affect the quality of service for data transmission and reception.
In the cable network environment, for example, when there is a congestion of data traffic in a downstream direction from the Internet to the CMTS, the data traffic will typically back up in the CMTS. Similarly, when there is congestion of data traffic in an upstream direction from subscriber devices to a cable modem, the data traffic will typically back up in the cable modem. When the data traffic backs up, the data traffic typically is routed to a queue, and if the latency is significant enough, the queue can overflow and drop data packets.
What is needed, therefore, is an approach that achieves improved network performance (e.g., latency, jitter, throughput) through ordinary-grade (e.g., consumer-grade) broadband connections over conventional broadband networks, facilitating support of application-level quality of service traffic requirements (e.g., traffic requirements of real-time service applications, such as voice-over-IP (VOIP) services) through such ordinary-grade broadband connections over conventional broadband networks.